package guia2;

import java.util.Vector;
import java.util.Date;

public abstract class Publicacion {
//1.
	String nombrePublicacion;
	Vector autores;
	Date fechaDePublicacion;
	
	
	/**
	 * Constructor de la Clase Publicacacion.
	 * @param nombrePublicacion
	 */
	public Publicacion(String nombrePublicacion)
	{
		//2.		
		this.nombrePublicacion = nombrePublicacion;
		autores = new Vector();
		fechaDePublicacion = new Date();
	}

	
	/**
	 * Constructor de la Clase Publicacion.
	 * @return
	 */
	public String getNombrePublicacion()
	{
		return nombrePublicacion;
	}
	
	
	//3.
	/**
	 * Metodo que retorna la fecha de la publicacion.
	 * @return Date
	 */
	public Date fechaPublicacion()
	{
		return fechaDePublicacion;
	}

	
	/**
	 * Metodo que retorna los autores de una publicacion.
	 * @return	Vector
	 */
	public Vector getAutores()
	{
		return autores;
	}
	
	
	/**
	 *	Definición de dos métodos abstractos.
	 *	Los   mismos deben  ser implementados en las especializaciones.
	 */
	abstract public boolean esRevista();
	
	abstract public boolean esLibro();
	
}


